package com.fg.cloud.manager.service.agency;

import java.util.List;
import java.util.Map;

import com.fg.cloud.common.PageUtils;
import com.fg.cloud.manager.entry.agency.AgencyBillEntity;
import com.fg.cloud.manager.entry.agency.vo.AgencyBillVo;
import com.fg.cloud.manager.entry.order.OrderPaymentEntity;
import com.fg.cloud.manager.service.BaseService;

/**
  * Description:经销商账单流水service
  * @author shaoqiping
  * @date 2017年8月21日上午11:08:07
*/
public interface AgencyBillService extends BaseService{
	/**
	  * Description:手机端查询所有付款
	  * @param pageinfo
	  * @return
	  * @author shaoqiping
	  * @date 2017年9月25日下午4:15:50
	*/
	Map<String,Object> findListWeChat(PageUtils<AgencyBillVo> pageinfo);
	/**
	  * Description:查询订单付款情况(分页)
	  * @param orderId
	  * @return
	  * @author shaoqiping
	  * @date 2017年9月14日下午3:09:25
	*/
	void findOrderAmount(PageUtils<AgencyBillEntity> pageinfo);
	
	/**
	  * Description:查询订单付款情况
	  * @param orderId
	  * @author shaoqiping
	  * @date 2017年11月10日上午10:30:44
	*/
	List<AgencyBillEntity> findOrderPayment(Long orderId);
	/**
	  * Description:对账单还款
	  * @param entity
	  * @param amount
	  * @return
	  * @author shaoqiping
	  * @date 2017年9月8日下午4:45:41
	*/
	boolean orderPayment(AgencyBillEntity billEntity,boolean confirm);
	/**
	  * Description:查询未完成付款的订单
	  * @param facId
	  * @param ageId
	  * @return
	  * @author shaoqiping
	  * @date 2017年9月8日下午3:38:25
	*/
	List<OrderPaymentEntity> findUnfinished(Long facId,Long ageId);
	/**
	  * Description:验证查询
	  * @param id
	  * @return
	  * @author shaoqiping
	  * @date 2017年8月31日下午6:17:53
	*/
	AgencyBillEntity selectToCheck(Long id);
	/**
	  * Description:插入两条
	  * @param entity
	  * @return
	  * @author shaoqiping
	  * @date 2017年8月25日上午10:02:07
	*/
	boolean insertDouble(AgencyBillEntity entity,boolean temp);
	/**
	  * Description:动态插入
	  * @param entity
	  * @return
	  * @author shaoqiping
	  * @date 2017年8月25日上午10:02:07
	*/
	boolean insertSelective(AgencyBillEntity entity,boolean temp);
	/**
	  * Description:动态插入2
	  * @param entity
	  * @return
	  * @author shaoqiping
	  * @date 2017年8月25日上午10:02:07
	*/
	boolean insert(AgencyBillEntity entity,boolean temp);
	/**
	  * Description:删除未确认的流水
	  * @param id
	  * @param ageId
	  * @return
	  * @author shaoqiping
	  * @date 2017年8月24日下午5:43:30
	*/
	boolean deleteUnconfirmed(Long id,Long ageId);
	/**
	  * Description:条件分页查询单个经销商
	  * @param pageinfo
	  * @author shaoqiping
	  * @date 2017年8月22日下午3:09:05
	*/
	void findList(PageUtils<AgencyBillVo> pageinfo);
	
	/**
	  * Description:高级搜索分页查询
	  * @param pageinfo
	  * @author shaoqiping
	  * @date 2017年8月22日下午3:11:27
	*/
	void highFindList(PageUtils<AgencyBillVo> pageinfo);
	
	/**
	  * Description:确认金额
	  * @param entity
	  * @return
	  * @author shaoqiping
	  * @date 2017年8月24日下午2:36:18
	*/
	boolean confirm(AgencyBillEntity entity);
}
